package cn.jiyun.function.controller;

import cn.jiyun.Result.Result;
import cn.jiyun.function.service.SysRegionService;
import cn.jiyun.pojo.SysRegion;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;

@RestController
@RequestMapping("sysRegion")
@Slf4j
public class SysRegionController {
    @Autowired
    private SysRegionService sysRegionService;
    /**
     * 根据条件分页查询SysRegion信息
     *
     * @param pageNum  页码，默认为1
     * @param pageSize 每页记录数，默认为10
     * @param sysRegion 查询条件封装对象
     * @return 分页查询结果
     */
    @RequestMapping("findPage")
    public Result findAll(@RequestParam(name="pageNum" ,defaultValue = "1")Integer pageNum,
                          @RequestParam(name="pageSize",defaultValue = "10") Integer pageSize,
                          @RequestBody SysRegion sysRegion
    ) {
        PageInfo<SysRegion> page = sysRegionService.findPage(pageNum,pageSize,sysRegion);
        return Result.ok(page);
    }

    /**
     * 根据区域ID获取SysRegion对象，用于修改页面的数据初始化
     *
     * @param regionId 区域ID
     * @return SysRegion对象
     */
    @RequestMapping("toUpdate")
    public Result toUpdate(Integer regionId) {
      SysRegion sysRegion =  sysRegionService.toUpdate(regionId);
      return Result.ok(sysRegion);
    }

    /**
     * 更新SysRegion信息
     *
     * @param sysRegion 待更新的SysRegion对象，包含更新后的信息
     * @return 更新操作结果
     */
    @PostMapping("updateById")
    public Result updateById(@RequestBody SysRegion sysRegion) {
        sysRegion.setUpdates("管理员");
        sysRegion.setFinallyTime(LocalDateTime.now());
        sysRegionService.updateById(sysRegion);
        return Result.ok();
    }

}
